<!DOCTYPE html>
<html lang="en">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>go2rtc - WebRTC</title>
    <style>
        body {
            margin: 0;
            padding: 0;
        }

        html, body {
            height: 100%;
            width: 100%;
        }
    </style>
</head>
<body>
<div id="out"></div>
<script>
    const out = document.getElementById('out');

    const print = (name, caps) => {
        out.innerText += name + '\n';
        caps.codecs.forEach((codec) => {
            out.innerText += [codec.mimeType, codec.channels, codec.clockRate, codec.sdpFmtpLine] + '\n';
        });
        out.innerText += '\n';
    };

    if (RTCRtpReceiver.getCapabilities) {
        print('receiver video', RTCRtpReceiver.getCapabilities('video'));
        print('receiver audio', RTCRtpReceiver.getCapabilities('audio'));
        print('sender video', RTCRtpSender.getCapabilities('video'));
        print('sender audio', RTCRtpSender.getCapabilities('audio'));
    }

    const types = [
        'video/mp4; codecs="avc1.42401E"',
        'video/mp4; codecs="avc1.42C01E"',
        'video/mp4; codecs="avc1.42E01E"',
        'video/mp4; codecs="avc1.42001E"',
        'video/mp4; codecs="avc1.4D401E"',
        'video/mp4; codecs="avc1.4D001E"',
        'video/mp4; codecs="avc1.640032"',
        'video/mp4; codecs="avc1.640C32"',
        'video/mp4; codecs="avc1.F4001F"',
        'video/mp4; codecs="hvc1.1.6.L93.B0"',
        'video/mp4; codecs="hev1.1.6.L93.B0"',
        'video/mp4; codecs="hev1.2.4.L120.B0"',
        'video/mp4; codecs="flac"',
        'video/mp4; codecs="opus"',
        'video/mp4; codecs="mp3"',
        'video/mp4; codecs="null"',
        'application/vnd.apple.mpegurl',
    ];

    const video = document.createElement('video');
    out.innerText += 'video.canPlayType\n';
    types.forEach(type => {
        out.innerText += `${type} = ${'MediaSource' in window && MediaSource.isTypeSupported(type)} / ${video.canPlayType(type)}\n`;
    });
</script>
</body>
</html>